"""
应用配置文件
"""
import os

# 基础配置
UPLOAD_FOLDER = 'uploads'
RESULTS_FOLDER = 'results'
ALLOWED_EXTENSIONS = {'jar', 'class'}
MAX_CONTENT_LENGTH = 500 * 1024 * 1024  # 500MB

# 服务器配置
# 注意：服务设计为完全内网运行，代码中无任何外网访问
# HOST = '0.0.0.0' 表示监听所有网络接口（可用于内网访问）
# 如需更严格限制，可设置为内网IP地址，例如：'192.168.1.100'
HOST = '0.0.0.0'  # 监听所有接口（内网运行，无外网访问）
PORT = 5001  # 默认端口（macOS上5000经常被AirPlay占用）

# Flask配置
class Config:
    """应用配置类"""
    UPLOAD_FOLDER = UPLOAD_FOLDER
    RESULTS_FOLDER = RESULTS_FOLDER
    MAX_CONTENT_LENGTH = MAX_CONTENT_LENGTH
    SECRET_KEY = os.environ.get('SECRET_KEY') or 'dev-secret-key-change-in-production'
    
    # 服务器配置
    HOST = HOST
    PORT = PORT

    @staticmethod
    def init_app(app):
        """初始化应用配置"""
        # 确保目录存在
        os.makedirs(app.config['UPLOAD_FOLDER'], exist_ok=True)
        os.makedirs(app.config['RESULTS_FOLDER'], exist_ok=True)

